Method and apparatus for satellite positioning system (SPS) time measurement

ABSTRACT

A method and apparatus for measuring time related to satellite data messages which are used with satellite positioning systems (SPS). In one method, a first record of at least a portion of a satellite data message is received at an entity, which is typically a basestation. The first record is compared with a second record of the satellite data message, where the first record and the second record overlap at least partially in time. Then a time is determined from this comparison, and this time indicates when the first record (or the source from which the first record was obtained) was received at a remote entity which is typically a mobile SPS receiver. Various other methods of the invention are described and various apparatuses of the invention are also described. The methods and apparatuses measure time of day using SPS signals without reading the satellite data messages which are transmitted as data within these signals. The methods and apparatuses are suitable for situations in which the received signal level is too weak to allow reading of the satellite data messages.

This application is a continuation-in-part (CIP) of provisional patentapplication Ser. No. 60/125,673 which was filed Mar. 22, 1999 and whichis entitled “Method and Apparatus for Satellite Positioning System (SPS)Time Measurement.” This application hereby claims the benefit of thefiling date of this provisional patent application.

The present invention relates to methods and systems which use receivedsignals from Satellite Position Systems (SPS) to locate themselves or todetermine time-of-day. This invention is a continuation-in-part ofco-pending U.S. patent application Ser. No. 09/074,521, filed May 7,1998 by Norman Krasner, which is a continuation of U.S. patentapplication Ser. No. 08/794,649, filed Feb. 3, 1997, which is now U.S.Pat. No. 5,812,087 (referred to as the “Parent Patent”). The ParentPatent is hereby incorporated herein by reference. The disclosure inpatent application Ser. No. 08/842,559 filed Apr. 15, 1997 is alsoincorporated herein by reference.

In most situations, the methods of the Parent Patent work reliably,allowing one system (e.g. a server system) to determine a time ofcapture of SPS signals (such as, for example, Global Positioning System(GPS) signals) at another system (e.g. a mobile SPS receiver/clientsystem).

In most situations of interest the time coordination method of thisinvention (termed “pattern matching”) works reliably. In some unusualsituations, there are extremely long latencies in transmitting thesignal between the mobile (e.g. mobile unit 453 of FIG. 6 of the ParentPatent) and the server (e.g. basestation 463 of FIG. 6 of the ParentPatent). This can arise if the link utilizes packet communications whichallow arbitrarily long routing delays. On rare occurrences such packetsmay arrive after a very long period of time. Such a long latency wouldrequire that the server compare the received pattern from the mobilewith a very long record stored at the server. This may becomputationally complex and may require a considerable amount of time toperform the necessary computations. In addition, long latencies may giverise to ambiguities associated with the repetitions in the datapatterns. For example, a substantial portion of the U.S. GPS data signalrepeats at 30 second intervals, and small portions may repeat at 6second intervals. In such circumstances the pattern match procedure mayproduce ambiguous results.

SUMMARY OF THE INVENTION

The present invention provides methods and apparatuses for measuringtime related to satellite data messages which are used with satelliteposition systems, such as GPS or Glonass. A method in one embodimentcomprises the steps of: (1) receiving, at an entity, a first record ofat least a portion of a satellite data message; (2) comparing the firstrecord with a second record of the satellite data message, where thefirst record and the second record overlap at least partially in timeand where the comparing is performed after determining an estimated timewhen the first record was received; and (3) determining a time from thecomparing, where the time indicates when the first record (e.g., thesource of the first record) was received at a remote entity. In oneexample of this embodiment, the remote entity is a mobile SPS receiverand the entity is a basestation which communicates with the mobile SPSreceiver through a wireless (and perhaps also wired) link. A method ofthe present invention may be performed exclusively at the basestation.In an alternative embodiment, the comparison may be performed and thenthe estimated time when the first record was received is used to verifythat the time determined from the comparing is correct.

An embodiment of the present invention for establishing receiver timingis for the receiver to form an estimate of a portion of the satellitedata message and transmit this estimate to the basestation. At thebasestation this estimate is compared to a record of the satellite datamessage received from another GPS receiver or source of GPS information.This record is assumed to be error free. This comparison then determineswhich portion of the basestation's message most closely matches the datatransmitted by the remote unit. Since the basestation has read thesatellite data message without error it can associate each data bit ofthat message with an absolute time stamp, as seen by the transmittingsatellite. Hence the comparison results in the basestation assigning anappropriate time to the estimated data transmitted by the remote. Thistime information may be transmitted back to the remote, if desired.

A variation on the above approach is to have the basestation send aclean record of the satellite data message to the remote plus theabsolute time associated with the beginning of this message. In thiscase the remote entity compares this record to the estimate of this datawhich it forms by processing a GPS signal which it receives. Thiscomparison will provide the offset in time between the two records andthereby establish an absolute time for the locally collected data. dr

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram of major components of a combined mobile SPSand communication system which can receive SPS signals and establishcommunication with a basestation.

FIG. 1B shows a block diagram of a typical implementation for the RF toIF converter and frequency synthesizer of FIG. 1A.

FIG. 2 is a flowchart which illustrates one method of the presentinvention.

FIG. 3 is a flowchart which shows another method of the presentinvention.

FIG. 4A shows a method performed by a mobile SPS receiver in oneparticular method of the present invention;

FIG. 4B shows a corresponding method performed by a basestation.

FIG. 5A shows one embodiment of a basestation of the present invention.

FIG. 5B shows another embodiment of a basestation of the presentinvention.

FIG. 6 shows a system of the present invention which includes an SPSreceiver, a cellular telephone site, a basestation, the Internet and aclient computer system.

FIG. 7 shows a simplified view of the pattern matching typicallyperformed in the present invention in order to determine time of receiptof a satellite data message at a mobile SPS receiver.

FIG. 8A shows a method performed by a mobile SPS receiver in anotherparticular embodiment of the invention, and

FIG. 8B shows a corresponding method performed by a basestation.

FIG. 9 shows the simplified structure of a conventional GPS receiver.

FIGS. 10A, 10B, 10C, and 10D show examples of sampled SPS signals aftervarious stages of signal processing according to the present invention.

FIGS. 11A, 11B, and 11C show further examples of sampled SPS signalsafter various stages of signal processing according to the invention.

FIG. 12A shows an example of a coarse time coordination method accordingto one embodiment of the present invention.

FIG. 12B shows another example of a coarse time coordination methodaccording to another embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Various methods and apparatuses for measuring time related to satellitedata messages for use with satellite positioning systems are describedbelow. The discussion of the invention focuses upon the United StatesGlobal Positioning Satellite (GPS) system. However, it should be evidentthat these methods are equally applicable to similar satellitepositioning systems, such as the Russian Glonass system. Moreover, itwill be appreciated that the teachings of the present invention areequally applicable to positioning systems which utilize pseudolites or acombination of satellites and pseudolites. Moreover, the variousarchitectures for basestations and mobile SPS receivers are provided forillustrative purposes rather than to be construed as limitations of thepresent invention.

FIG. 2 shows a generalized method of the present invention which may beutilized with a mobile SPS receiver which is combined with a mobilecommunication receiver and transmitter, such as that shown in FIG. 1A.The mobile GPS receiver 100 shown in FIG. 1A samples the satellite datamessage, such as ephemeris, and creates a record of the message in step201. Next in this method 200, the remote or mobile GPS receivertransmits this record to a basestation, such as the basestation shown inFIGS. 5A or 5B in step 203. This record is typically some representationof the message received by the mobile SPS receiver. In step 205, thebasestation compares the record transmitted from the mobile SPS receiverto another record which may be considered a reference record of thesatellite data message. This reference record has associated time valueswherein various segments of the satellite data message have specified“reference” times associated therewith. In step 207, the basestationdetermines the time of sampling by the mobile GPS receiver of thesatellite data message. This determination is based upon a time valuewhich is associated with the reference record and this determinationwill indicate the time when the record or the source of the record wasreceived by the mobile GPS receiver. In the embodiments shown in FIGS.12A and 12B, the comparison of operation 205 is aided by determining anestimate of the time of receipt of the record of SPS signals at themobile SPS receiver. This estimate may be used to limit the range of thecomparison of the record to a reference or may be used to verify theresult of the comparison. This will normally improve the speed of thecomparison operation and also ensure the accuracy of the result (wherethere may be unusually long transmission latencies between recording therecord at the mobile and performing the comparison operation).

FIG. 7 illustrates in a simplified way the comparison operation in step205 of FIG. 2. In particular, FIG. 7 shows the attempted comparisonbetween the mobile receiver's record and the basestation's referencerecord shown respectively as records 491 and 495. The horizontal axesfor both records indicate time. There is a portion 493 of the mobile'srecord which represents the portion transmitted to the basestation forpurposes of comparison. Typically, the basestation will have acorresponding portion 497 which will overlap at least partially in timewith the record received from the mobile receiver. In FIG. 7, thisoverlap is complete in that the reference record provides the satellitedata message throughout the entire interval of the mobile receiver'srecord. However, this is only one example and the overlap may be suchthat only a portion of the mobile receiver's record overlaps with thereference record from the basestation.

FIG. 3 illustrates in further detail a method 220 of the presentinvention for measuring time related to satellite data messages for usewith a satellite positioning system. The mobile or remote GPS receiveracquires in step 221 GPS signals and determines pseudoranges from thoseacquired GPS signals. In step 223, the mobile GPS receiver removes thePN data and creates a record of the satellite data message from theacquired GPS signals used to create or determine the pseudoranges. Thisrecord is typically some representation of the ephemeris data in theacquired GPS signals and typically represents an estimate of the data.In step 225, the mobile GPS receiver transmits the record and thedetermined pseudoranges to a basestation, such as the basestation shownin FIG. 5A or 5B.

In step 227, the basestation performs a cross-correlation of the recordtransmitted from the mobile GPS receiver to a reference record ofephemeris of the satellites. This reference record typically includes anaccurate time stamp associated with the data in the reference record(e.g. each bit of data in the reference record has an associated timevalue or “stamp”), and it is this time stamp which will be used todetermine the time of receipt by the mobile GPS receiver of theoriginally acquired GPS signals. In step 229, the basestation determinesfrom the cross-correlation operation the time of acquiring by the remoteGPS receiver of the acquired GPS signals. The basestation then uses instep 231 the time of the acquiring by the remote GPS receiver of the GPSsignals and uses the determined pseudoranges to determine a positioninformation, which may be a latitude and longitude of the remote/mobileGPS receiver. The basestation, in step 233, may communicate thisposition information of the remote GPS receiver to another entity, suchas a computer system coupled through a network, such as the Internet, oran intranet, to the basestation. This will be described further below inconjunction with FIGS. 5B and 6.

Below we explain in further detail several methods for estimating thesatellite data at the remote SPS receiver. The methods fall into twoclasses: one which performs differential demodulation and soft decisionof the data (after PN is removed) and the other which samples the rawI/Q data after PN is removed. The first method is shown diagrammaticallyin FIGS. 4A and 4B and the second is indicated in FIGS. 8A and 8B. Notethat the object here is to determine the difference in times of arrivalbetween the reception of the signal at the remote and at thebasestation. Since the basestation is presumed to have the precise time,this difference in time will determine the precise time of reception ofdata at the remote. As explained below, the two approaches differ by theamount of processing that must be done by the remote (mobile SPSreceiver) and the amount of information that must be transferred fromthe remote to the basestation over a communication link. In essence,there is a tradeoff in the processing burden at the remote versus thequantity of data that must be passed over the link.

Before describing the details of the procedures in FIGS. 4A and 4B andFIGS. 8A and 8B, a review of conventional GPS operation is provided toprovide a contrast to the methods of this invention. A simplifiedversion of a conventional GPS receiver 601 is shown in FIG. 9.

This conventional receiver 601 receives digitized I/Q input signals 603from a GPS RF front end (e.g. downconverter and digitizer) and mixes inmixer 605 these input signals 603 with oscillator signals from digitaloscillator 607. The output from mixer 605 is then mixed in mixer 609with the output of a PN generator 611 which is controlled for chipadvance by signals 619 from the microcontroller 617. The microcontroller617 also controls the digital oscillator 607 in order to translate thesignal to near baseband.

In the operation of a conventional GPS receiver, a signal received froma GPS satellite in the absence of noise has the form

y(t)=AP(t)D(t)exp(j2 πf ₀ t+φ),  (eq. 1)

where P(t) is a 1023 length repeating binary phase-shift keyedpseudorandom sequence (chip rate 1.023 Mchips/sec) having values ±1 andD(t) is a 50 baud data signal aligned with the beginning of the PNframing, again assuming values ±1. After translating the signal to nearbaseband (e.g. by the mixer 605), the PN code is normally removed byusing a correlator (which may be considered to include elements 609,611, 613, 615 and 617 of FIG. 9). This device locally reproduces thecode P(t) (for the given satellite) and determines the relative phasingof the received PN with the locally generated PN. When phase aligned,the correlator multiplies this signal by the locally generated referenceresulting in the signal form:

P(t)×y(t)=P(t)AP(t)D(t)exp(j2 πf ₀ t+φ)=AD(t)exp(j2 πf ₀ t+φ)  (eq. 2)

At this point the signal is narrowband filtered (e.g. in filter 613) toremove noise outside the band of the data signal D(t). The sample ratemay then be reduced to a small multiple of the data rate by sampler 615.Thus, the time variable t in the right hand side of equation (2) takeson values of the form mT/K, m=0,1,2, . . . where K is a small integer(e.g. 2) and T is the bit period.

The samples of data at this point then are used for performing the PNtracking operations, carrier tracking and data demodulation. This isnormally done by software algorithms in a microcontroller, but mayalternatively be done in hardware. In FIG. 9 the microcontroller 617feeds back correction signals 621 and 619 to the digital oscillator andPN generator respectively in order to keep the locally generated carriersignals and PN signals in phase synchronism with the received signal.This operation is normally done in parallel for a multiplicity ofsimultaneously received GPS signals (typically 4 or more GPS signalsfrom 4 or more GPS satellites).

Now, in some circumstances (e.g. a low signal to noise ratio (“SNR”))the GPS signal may be so weak that the data D(t) cannot be extractedwith high reliability. As described previously, a conventional GPSreceiver needs to read this data in order to determine a universal timeas well as provide a position fix. An alternative approach, provided bythe present invention, in this low SNR situation is for the remote towork together with a basestation, the latter of which has access to thissatellite data information. The remote sends information to thebasestation that allows it to compute the time associated with theoriginal reception of such data by the remote. An alternativeconfiguration exists in which the basestation sends information to theremote in order for it to compute this time of reception. We mainlyconsider the first case.

It should be noted that time coordination between the base and theremote may, in some cases, be achieved by sending accurate timingsignals (e.g. pulses or specialized waveforms) across a communicationlink and accounting for any transit time by either a priori knowledge ofthe link latencies or measuring a round trip delay (assuming a two-waysymmetric link). However, there are many circumstances where thisapproach is impractical or impossible. For example, many links includepacketized protocols in which latencies may be variable from onetransmission to another and span many seconds.

The approach of this invention is for the remote to form an estimate ofa portion of the data sequence D(t) or an estimate of a processedversion of it, and transmit this data to the basestation. This datasequence can be compared against a similar but much higher fidelitysignal generated at the basestation. The two sequences are slid in timerelative to one another until the best match occurs, according to agiven metric, such as minimum mean-squared error. This “correlation”procedure is very similar to that used by GPS receivers in order tosynchronize to the PN spreading sequences; here, however, the operationis done on much lower rate data signals and, furthermore, the pattern ofsuch signals is constantly changing and may be unknown a priori.

Since the basestation presumably knows the precise time associated witheach element of the message, it may utilize this knowledge plus theaforementioned comparison to ascertain the original time associated withthe signal received at the remote.

Thus, the main problem lies in the estimation at the remote of the datasequence D(t) or a derivative thereof.

One particular embodiment of the invention, shown in FIGS. 8A and 8B,for estimating the data sequence is to simply sample and store a recordof the signal after the PN is removed, e.g. as shown in equation (2).Here the signal is assumed to be sampled at a small multiple of the datarate; a 100 sample per second rate may be suitable for this purpose.Note that both I and Q tributaries must be sampled. Also, a record oflength of around 25 or more data symbols (0.5 seconds) should be takenin order to make it likely that the data pattern is unique for thepurpose of identification at the basestation. Note from equation (2)that a small residual carrier f₀ and unknown carrier phase φ may stillbe present. It is highly beneficial that the carrier frequency be knownto an accuracy better than ±one-half the sample rate of the data signal;otherwise the carrier may effectively introduce phase reversals of thedata signal and so corrupt the data.

FIG. 8A illustrates a method performed in the mobile GPS receiveraccording to this particular embodiment. The receiver acquires the first(or next if not the first) PN code for the particular GPS signal andremoves the PN code from the signal in step 503. Then, the receiverperforms an accurate estimate of carrier frequency in step 505 and themremoves the carrier from the inputted signal in step 507. Then the I andQ data is sampled and quantized in steps 509 and 511, and this quantizedresult is saved as a record of the corresponding satellite data messageand then transmitted to the basestation (perhaps also with thecorresponding pseudorange from the GPS satellite transmitting theparticular GPS signal). In step 513, the receiver determines whether thereceiver has performed steps 503, 505, 507, 509, and 511 (and hencedetermined a record) for all satellites of interest (e.g. all satellitesin view of the mobile GPS receiver or at least four satellites in view).If a record of the satellite data message has been determined from eachsatellite of interest, then the GPS receiver transmits (in step 515) therecords with an elapsed time tag to the basestation. The elapsed timetag may be used by the basestation to estimate and/or select the“reference” record at the basestation which will be compared (e.g. bycorrelation) to the record. If the receiver has not determined a recordfrom each satellite of interest, then the mobile GPS receiver proceedsfrom step 513 back to step 503, and repeats steps 503, 505, 507, 509,and 511 in order to determine a record of the satellite data messagereceived from the next satellite of interest. An example of a GPSreceiver (and communication receiver/transmitter) which may perform themethod of FIG. 8A is shown in FIG. 1A, and this GPS receiver isdescribed in further detail below.

The basestation when receiving this information can refine the frequencyestimate and remove the carrier and then determine relative timing bycross-correlating this data against similar data extracted from a highfidelity signal received from a GPS receiver with a clear view of thesky (or received from some other source of high fidelity GPS signals,such as from the Internet or from a GPS ground control station).

FIG. 8B shows a method 521 performed by the basestation upon receivingthe record of the satellite data message transmitted from the remote. Instep 523, the basestation receives a record corresponding to a satellitedata message, and then in step 525 phaselocks to the record and removesany residual phase error/roll in step 525. Contemporaneously with steps523 and 525, the basestation will typically be tracking and demodulatingGPS data messages and applying time tags to these data messages in orderto provide an accurate time value in association with various intervalsof the satellite data message which has been demodulated. This is shownin step 527. Typically, the basestation will be performing the trackingand demodulation of satellite data messages on an ongoing basis suchthat a continuous reference record is being generated and a runningsample of this “reference” record is stored at the basestation. It willbe appreciated that this running record of the reference may bemaintained for a time period of up to perhaps 10 to 30 minutes prior tothe current time. That is, the basestation may maintain a copy of thereference record for as long as 30 minutes before discarding the oldestportion of the reference record and in effect replacing it with thenewest portion in time.

In step 529, the basestation correlates the base's reference recordagainst the reference record from the remote for the first (or the next,if not the first) satellite data message from the first (or next)satellite. This correlation is effectively a comparison between the tworecords in order to match the patterns such that the basestation maydetermine the time accurately when the remote received the record (whichis typically, in effect, the time when the source of that record wasreceived by the remote since the record is itself an estimate of thesource). It will be appreciated that as used to describe the presentinvention, the time of receipt of the record by the remote effectivelyis the time of receipt of the source of the record at the remote. Atstep 531, the basestation finds and interpolates the peak location whichindicates the time at which the remote received the record for thecurrent satellite and its corresponding satellite data message. In step533, the basestation determines whether all times associated with allcorresponding records have been determined for all satellites ofinterest. If not, the processing proceeds back to step 529 and theprocess is repeated for each record received from the remote. If allrecords have been processed in order to determine corresponding timesfor all satellites of interest and their corresponding satellite datamessages, then processing proceeds from step 533 to step 535, whereinthe times are compared for the different satellites of interest. In step537, majority logic is used to discard erroneous or ambiguous data andthen in step 539 it is determined whether all data is ambiguous. If alldata is ambiguous, the basestation commands the mobile GPS receiver totake further data by transmitting a command to the communicationreceiver in the mobile GPS unit. If all data is not ambiguous, then instep 543 the basestation performs a weighted average of the times todetermine an average time of receipt of the satellite data messages atthe mobile GPS receiver. It will be appreciated that in certaincircumstances such as those when a sample of GPS signals is digitizedand stored in a digital memory for further processing that there will bein effect one time of receipt as long as that sample is of a shortduration. In other instances, such as those involving serial correlationwhere one satellite at a time is processed and signals from thatsatellite are acquired and a record is made of that signal and then nextin time another satellite signal is acquired, in this case, there may bemultiple times of receipt and the basestation may determine each ofthose times and use them in the manner described below.

It will be appreciated that the time of receipt of the record inconjunction with the pseudoranges which are typically transmitted fromthe mobile GPS receiver, at least in some embodiments, will be used bythe basestation to determine a position information, such as a latitudeand longitude and/or an altitude of the mobile GPS receiver.

In some cases it may be difficult to determine the residual carrierfrequency (in step 525) to sufficient accuracy and then a differentialdemodulation of the data from the remote and the locally received datamay precede the cross-correlation. This differential demodulation isfurther described below in conjunction with FIGS. 4A and 4B.

If the communication link capacity (between the mobile GPS receiver andthe basestation) is low, it is advantageous for the remote to performadditional processing on the despread signal (the signal with PNremoved). A good approach toward this end, as illustrated in FIGS. 4Aand 4B, is for the remote to differentially detect this signal byperforming a delay-multiply operation on the data signal, with delay setto a bit period (20 milliseconds) or a multiple thereof. Thus, if thebaseband signal of equation (2) is represented as

z(t)=AD(t)exp(j2 πf ₀ t+φ)  (eq. 3)

then the appropriate operation would be:

z(t)z(t−T)*=A ² D(t)D(t−T)exp(j2 πf ₀ T)=A ² D ₁(t)exp(j2 πf ₀ T)  (eq.4)

where the asterisk represents complex conjugate, T is the bit period (20msec) and D₁(t) is a new 50 baud sequence formed by differentiallydecoding the original data sequence (e.g. mapping a transition to a −1and no transition to a +1). Now if the carrier frequency error is smallcompared to the reciprocal of the symbol period, then the latterexponential term has a real component that dominates the imaginarycomponent and only the real component may be retained yielding theresult A²D₁(t). Thus, the operation of equation (4) produces a realsignal stream instead of the complex signal stream of the method shownin FIG. 8A. This, by itself, halves the required transmission messagelength when the record is transmitted across the communication link.Since the signal A²D₁(t) is at baseband, it may be sampled at a somewhatsmaller rate than that of the method shown in FIG. 8A. It is possible,also, to retain only the sign of this data, thereby reducing the amountof data to be transmitted. However, this approach will reduce theability of the basestation to resolve time much better than one symbolperiod (20 msec). Here we should note that the PN code repeats at a 1msec interval and hence will not be useful by itself for furtherresolving this measurement error.

FIG. 4A illustrates the processing steps performed in the mobile GPSreceiver, and FIG. 4B illustrates the processing steps performed at thebasestation according to this particular embodiment of the presentinvention. The mobile GPS receiver receives in step 301 a request forposition information from a basestation. It will be appreciated that ina typical embodiment, this reception will occur by a communicationreceiver such as that shown within the mobile GPS receiver 100 in FIG.1A. In response to that request for position information, the mobile GPSreceiver in step 303 acquires the first (or the next, if not the first)PN code from a GPS signal and removes that PN code from the received GPSsignal. In step 305, the remote performs an accurate estimate of thecarrier frequency; the accuracy of this estimate should be better thanthe sample rate of the GPS data message, which is typically 100 Hz inthe case of 50 baud GPS data. Step 305 may be performed by usingconventional frequency measurement systems in GPS receivers; thesefrequency measurement systems typically use carrier tracking loops whichoften include phaselock loops to extract the carrier and then afrequency measurement circuit or alternatively, a frequency trackingloop with a phaselock loop. In step 307, the carrier frequency isremoved by the mobile GPS receiver from the remaining signal, leavingthe 50 baud data. Then in step 309, the remaining data is differentiallydetected by sampling the data at typically twice the rate of the dataitself. It will be appreciated that rather than differentially detectthe data as in step 309, the remote GPS receiver may transmit the dataitself to the basestation and allow the basestation to perform thedifferential detection and quantization steps of steps 309 and 311. Themobile GPS receiver continues, in step 311, by quantizing and storingthe result which is a record of the satellite data message typicallyhaving a duration in time of from one-half to one second. Then in step313, the mobile GPS receiver determines if a record of satellite datamessage has been created for each satellite of interest, which may beall satellites in view or at least four satellites in view. If a recordhas not been created for each satellite of interest and itscorresponding satellite data message, then processing proceeds from step313 back to step 303 and this loop continues until a record has beencreated for each of the satellite data messages for each satellite ofinterest. If all records for all satellites of interest have beendetermined and created, then processing proceeds from step 313 to step315 in which the mobile GPS receiver transmits through its communicationtransmitter the records for all satellites of interest with a coarse(elapsed) time tag which is used by the basestation in the mannerdescribed above.

The basestation receives these records from the mobile GPS receiver instep 327 shown in FIG. 4B. Contemporaneously with the operation of themobile GPS receiver, the basestation is typically tracking anddemodulating GPS data messages and applying time tags to those datamessages in order to in effect time stamp these data messages; this isperformed in step 321 as shown in FIG. 4B. Then in step 323, thebasestation differentially decodes the data to provide the base's datawhich will be used in the correlation operation in step 325. Thereceived data from the mobile GPS receiver will typically be stored forthe correlation operation and compared against the stored differentiallydecoded data from step 323. In step 325, the basestation correlates thebase's data against the record from the mobile GPS receiver for thefirst (or the next, if not the first) satellite. In step 327, thebasestation finds and interpolates the peak location which indicates thetime of arrival at the mobile receiver of the satellite data messagefrom the current satellite being processed. In step 329, the basestationdetermines if correlation has been performed for all records receivedfrom the mobile receiver. If not, then processing proceeds back to step325 in which the next record for the next satellite data message isprocessed in steps 325 and 327. If in step 329, it has been determinedthat correlation has been performed for all records received from themobile GPS receiver, then in step 331, a comparison is made between thedetermined times for different satellites of interest. In step 333, thebasestation uses majority logic to discard erroneous or ambiguous data.Then in step 335, the basestation determines if all data is ambiguous orerroneous. If so, the basestation commands the mobile receiver in step337 to acquire more data and the entire process will be repeatedstarting from the method shown in FIG. 4A and continuing to the methodshown in FIG. 4B. If all data is not ambiguous as determined in step335, then the basestation performs a weighted average of the times instep 339 and uses this weighted average with the pseudorangestransmitted from the mobile GPS receiver, at least in some embodiments,in order to determine a position information of the mobile GPS receiver.

In order to illustrate the processing steps just described a live GPSsignal was sampled, collected into a record, despread and sampled at arate of 4 samples per symbol period. FIG. 10A shows a 1 second record ofthe real portion of the despread waveform with carrier partiallyremoved. The symbol pattern is evident, but a small residual carrieroffset of about 1 Hz is obviously still present. FIG. 10B shows thesignal differentially detected by multiplying it by a conjugated anddelayed version of itself with delay equal to 20 milliseconds. Thesymbol pattern is clearly evident. FIG. 10C shows the ideal data signaland FIG. 10D shows the cross-correlation of the ideal signal (e.g.produced at the basestation) and the signal of 10B. Note the glitches in10B that result from sampling effects and the nonideal nature of thesignal due to noise, etc.

FIG. 11A shows the demodulated data when noise was added to the signalso that the SNR of the demodulated signal is approximately 0 dB. Thismodels the situation when the received GPS signal is reduced in power byover 15 dB relative to its nominal level, e.g. by blockage conditions.FIG. 11B shows the differentially demodulated data. The bit pattern isundetectable. Finally FIG. 11C shows the cross-correlation of this noisesignal with the clean reference. Obviously the peak is still strong,with peak to RMS level in excess of 5.33 (14.5 dB), allowing accuratetime-of-arrival estimation. In fact, an interpolation routine appliedabout the peak of this signal indicated an accuracy of less than{fraction (1/16)} sample spacing, i.e. less than 0.3 msec.

As mentioned previously, the basestation can send to the remote the datasequence together with the time associated with the beginning of thismessage. The remote can then estimate the time-of-arrival of the datamessage via the same cross-correlation methods described above exceptthat these correlation methods are performed at the remote. This isuseful if the remote computes its own position location. In thissituation the remote may also obtain satellite ephemeris data by atransmission of such data from the basestation.

FIG. 1A shows an example of a combined mobile GPS receiver andcommunication system which may be used with the present invention. Thiscombined mobile GPS receiver and communication system 100 has beendescribed in detail in application Ser. No. 08/652,833 filed May 23,1996 and entitled “Combined GPS Positioning System and CommunicationSystem Utilizing Shared Circuitry” which is hereby incorporated hereinby reference (now U.S. Pat. No. 6,002,363). FIG. 1B illustrates infurther detail the RF to IF converter 7 and the frequency synthesizer 16of FIG. 1A. These components shown in FIG. 1B are also described inapplication Ser. No. 08/652,833. The mobile GPS receiver andcommunication system 100 shown in FIG. 1A may be configured to perform aparticular form of digital signal processing on stored GPS signals insuch a manner that the receiver has very high sensitivity. This isfurther described in copending U.S. patent application Ser. No.08/612,669, which was filed Mar. 8, 1996, and is entitled “An ImprovedGPS Receiver and Method for Processing GPS Signals”, and thisapplication is hereby incorporated herein by reference. This processingoperation described in application Ser. No. 08/612,669 computes aplurality of intermediate convolutions typically using fast Fouriertransformations and stores these intermediate convolutions in thedigital memory and then uses these intermediate convolutions to provideat least one pseudorange. The combined GPS and communication system 100shown in FIG. 1A also may incorporate certain frequency stabilization orcalibration techniques in order to further improve the sensitivity andaccuracy of the GPS receiver. These techniques are described inapplication Ser. No. P003X, which was filed Dec. 4, 1996, and isentitled “An Improved GPS Receiver Utilizing a Communication Link”, andwhich application is hereby incorporated herein by reference (now U.S.Pat. No. 5,841,396).

Rather than describing in detail the operation of the combined mobileGPS receiver and communication system 100 shown in FIG. 1A, a briefsummary will be provided here. In a typical embodiment, the mobile GPSreceiver and communication system 100 will receive a command from abasestation, such as basestation 17, which may be either one of thebasestations shown in either FIG. 5A or FIG. 5B. This command isreceived on the communication antenna 2 and the command is processed asa digital message after stored in the memory 9 by the processor 10. Theprocessor 10 determines that the message is a command to provide aposition information to the basestation, and this causes the processor10 to activate the GPS portion of the system at least some of which maybe shared with the communication system. This includes, for example,setting the switch 6 such that the RF to IF converter 7 receives GPSsignals from GPS antenna 1 rather than communication signals from thecommunication antenna 2. Then the GPS signals are received, digitized,and stored in the digital memory 9 and then processed in accordance withthe digital signal processing techniques described in the aforementionedapplication Ser. No. 08/612,669. The result of this processing typicallyincludes a plurality of pseudoranges for the plurality of satellites inview and these pseudoranges are then transmitted back to the basestationby the processing component 10 activating the transmitter portion andtransmitting the pseudoranges back to the basestation to thecommunication antenna 2.

The basestation 17 shown in FIG. 1A may be coupled directly to theremote through a radio communication link or may be, as shown in FIG. 6,coupled to the remote through a cellular telephone site which provides awired communication link between the telephone site and the basestation.FIGS. 5A and 5B illustrate these two possible basestations.

The basestation 401 illustrated in FIG. 5A may function as an autonomousunit by providing a radio link to and from mobile GPS receivers and byprocessing received pseudoranges and the corresponding time recordsaccording to the present invention. This basestation 401 may find usewhere the basestation is located in a metropolitan area and all mobileGPS receivers to be tracked are similarly located in the samemetropolitan area. For example, this basestation 401 may be employed bypolice forces or rescue services in order to track individuals wearingor using the mobile GPS receivers. Typically, the transmitter andreceiver elements 409 and 411, respectively, will be merged into asingle transceiver unit and have a single antenna. However, thesecomponents have been shown separately as they may also exist separately.The transmitter 409 functions to provide commands to the mobile GPSreceivers through transmitter antenna 410; this transmitter 409 istypically under control of the data processing unit 405 which mayreceive a request from a user of the processing unit to determine thelocation of a particular mobile GPS receiver. Consequently, the dataprocessing unit 405 would cause the command to be transmitted by thetransmitter 409 to the mobile GPS receiver. In response, the mobile GPSreceiver would transmit back to the receiver 411 pseudoranges andcorresponding records in one embodiment of the present invention to bereceived by the receiving antenna 412. The receiver 411 receives thesemessages from the mobile GPS receiver and provides them to the dataprocessing unit 405 which then performs the operations which derive theposition information from the pseudoranges from the mobile GPS receiverand the satellite data messages received from the GPS receiver 403 orother source of reference quality satellite data messages. This isfurther described in the above-noted copending patent applications. TheGPS receiver 403 provides the satellite ephemeris data which is usedwith the pseudoranges and the determined time in order to calculate aposition information for the mobile GPS receiver. The mass storage 407includes a stored version of the reference record of the satellite datamessages which is used to compare against the records received from themobile GPS receiver. The data processing unit 405 may be coupled to anoptional display 415 and may be also coupled to a mass storage 413 withGIS software which is optional. It will be appreciated that the massstorage 413 may by the same as the mass storage 407 in that they may becontained in the same hard disk or other mass storage device.

FIG. 5B illustrates an alternative basestation of the present invention.This basestation 425 is intended to be coupled to remote transmittingand receiving sites such as a cellular telephone site 455 shown in FIG.6. This basestation 425 may also be coupled to client systems through anetwork, such as the Internet or an intranet, or other types of computernetworking systems. The use of the basestation in this manner is furtherdescribed in copending application Ser. No. 08/708,176, which was filedSep. 6, 1996 and which is entitled “Client-Server Based Remote LocatorDevice” and which is hereby incorporated herein by reference. Thebasestation 425 communicates with a mobile GPS unit, such as thecombined mobile GPS receiver and communication system 453 shown in FIG.6 through the cellular telephone site 455 and its corresponding antennaor antennas 457 as shown in FIG. 6. It will be appreciated that thecombined GPS receiver and communication system 453 may be similar to thesystem 100 shown in FIG. 1A.

The basestation 425, as shown in FIG. 5B, includes a processor 427 whichmay be a conventional microprocessor coupled by a bus 430 to main memory429 which may be random access memory (RAM). The basestation 425 furtherincludes other input and output devices, such as keyboards, mice, anddisplays 435 and associated I/O controllers coupled via bus 430 to theprocessor 427 and to the memory 429. A mass storage device 433, such asa hard disk or CD ROM or other mass storage devices, is coupled tovarious components of the system, such as processor 427 through the bus430. An I/O controller 431 which serves to provide I/O control betweenthe GPS receiver or other source of satellite data messages, is alsocoupled to the bus 430. This I/O controller 431 receives satellite datamessages from the GPS receiver 430 and provides them through the bus 430to the processor which causes the time stamp to be applied to them andthen stored in the mass storage device 433 for use later in comparing torecords received from mobile GPS receivers. Two modems 439 and 437 areshown in FIG. 5B as interfaces to other systems remotely located fromthe basestation 425. In the case of modem or network interface 439, thisdevice is coupled to a client computer, for example, through theInternet or some other computer network. The modem or other interface437 provides an interface to the cellular telephone site, such as thesite 455 shown in FIG. 6 which illustrates a system 451.

The basestation 425 may be implemented with other computer architecturesas will be appreciated by those skilled in the art. For example, theremay be multiple busses or a main bus and a peripheral bus or there maybe multiple computer systems and/or multiple processors. It may beadvantageous, for example, to have a dedicated processor to receive thesatellite data message from the GPS receiver 403 and process thatmessage in order to provide a reference record in a dedicated mannersuch that there will be no interruption in the process of preparing thereference record and storing it and managing the amount of stored datain accordance with the present invention.

The system 451 shown in FIG. 6 will typically operate, in oneembodiment, in the following manner. A client computer system 463 willtransmit a message through a network, such as the Internet 461 to thebasestation 425. It will be appreciated that there may be interveningrouters or computer systems in the network or Internet 461 which passalong the request for position of a particular mobile GPS receiver. Thebasestation 425 will then transmit a message through a link, which istypically a wired telephone link 459, to the cellular telephone site455. This cellular telephone site 455 then transmits a command using itsantenna or antennas 457 to the combined mobile GPS receiver andcommunication system 453. In response, the system 453 transmits backpseudoranges and records of the satellite data messages in accordancewith the present invention. These records and pseudoranges are thenreceived by the cellular telephone site 455 and communicated back to thebasestation through link 459. The basestation then performs theoperations as described according to the present invention using therecords to determine the time of receipt of the satellite data messagesand using pseudoranges from the remote GPS system 453 and utilizing thesatellite ephemeris data from the GPS receiver at the basestation orfrom other sources of GPS data. The basestation then determines aposition information and communicates this position information througha network, such as the Internet 461, to the client computer system 453which may itself have mapping software at the client a computer system,allowing the user of this system to see on a map the exact position ofthe mobile GPS system 453.

There are several methods for determining an estimated time when GPSsignals were received at a mobile GPS system. The mobile, when sendingthe pattern to the server, may begin a timer and wait for an acknowledgefrom the server. If the acknowledgment of receipt is very lengthy, thenthe pattern may be resent together with the time offset betweensuccessive transmissions. This may be continued until the acknowledgmentis received within an acceptable time period (say within one second).Effectively, this method is determining transmission delay andretransmitting a pattern for matching if the transmission delay is abovea predetermined amount (e.g. the delay is more than the acceptable timeperiod). This transmission delay establishes a comparison range for acomparison of the two patterns.

Alternatively, the mobile and server may initially establish a coarsetime coordination, for example to 1 second or better accuracy, by meansof a round trip signal. The server may send time-of-day to the mobile,which records this time and sends an acknowledgment to the server. Ifthe acknowledgment is received within a prescribed period of time T,then it is obviously the case that the time recorded at the mobile iswithin T seconds of that of the server. Then, when the mobile processesGPS information to create the data pattern to be sent to the server, thetime of such processing may be tagged to an accuracy with T seconds.Hence, when estimated GPS data information is sent to the server, theserver need only examine offsets in time, within a range no greater thanT, between the pattern received from the mobile and a reference pattern(e.g. received by a local GPS receiver or another data feed). The coarsetime coordination can also be done by the mobile sending its localversion of the time of processing to the server and the server sendingan acknowledgment response. The server can associate the receivedmobile's time with its own time to determine an offset (sometimes calleda bias). If this round trip time is within T seconds, then subsequenttransmissions of patterns to the server from the mobile, time taggedwith the mobile's local time, will again allow the server to restrictits search range to less than T seconds. In this manner, the server canrestrict the range of comparison.

It should be appreciated that the same approach to coarse timecoordination between the mobile and server may be done if the patternmatch operation is performed at the mobile rather than at the server.Once the server and mobile establish coarse time with respect to oneanother, to an amount no greater than T seconds, then subsequent patternmatch operations performed at the mobile need not be performed overranges greater than T seconds.

Other variations in the above procedure are possible. Instead of sendingdata back and forth and measuring receipt time of data, it is possiblein some circumstances to send electrical pulses or other timing signalsbetween the mobile and the server or some other entity to which theserver may communicate. The pulses or signals may then provide the meansto roughly coordinate time between the mobile and server. The mobile andthe server may be able to get a rough knowledge of time by receipt of asignal or signals separate from its communications with the server. Forexample, each may receive a time-of-day broadcast signal from anothercommunications signal, such as WWV. The mobile and server may both viewa common radio signal and agree upon a particular epoch associated withthat signal in order to establish a coarse common time.

FIG. 12A shows an overall block diagram of the coarse time coordinationmethod followed by the pattern match, where the final pattern matchingoperation is done at the server. A similar block diagram corresponds tothe pattern matching done at the mobile and is shown in FIG. 12B.

In FIG. 12A, the server and the mobile perform time coordination inoperation 700 by sending round trip messages or signals and by measuringthe round trip delay (referred to as T seconds). This measurement isused to determine whether T is too large (e.g. more than 30 seconds) inoperation 701. If the delay is too long, the operation 700 may berepeated (or alternative methods, discussed above, for time coordinationbetween the mobile and server may be used). If the delay T is not toolarge, operation 702 is performed; this operation 702 is similar tooperation 203 of FIG. 2 of the Parent Patent. In operation 703, theserver (e.g. basestation 425 of FIG. 6 of the Parent Patent) performs acorrelation operation to determine a precision time by matching thepattern/record transmitted by the mobile with the server's version. Theserver selects a particular portion (a “search window”) of its versionof the pattern by using the delay T to determine this portion. That is,the server will time stamp the receipt of the pattern from the mobileand subtract the delay T to determine a coarse time CT (which specifiescoarsely when the mobile received the SPS signals which created thepattern transmitted by the mobile). This coarse time is used to create asearch window (window=CT−delta to CT+delta) to select the server'srecord in that window which is compared to the pattern received from themobile unit.

In FIG. 12B, a series of operations (800-803), which are similar to theoperations 700-703, are performed except that the mobile performs thepattern matching operation (rather than the server performing thisoperation).

The present invention has been described with reference to variousfigures which have been provided for purposes of illustration and arenot intended to limit in any way the present invention. Moreover,various examples have been described of the methods and apparatuses ofthe present invention, and it will be appreciated that these examplesmay be modified in accordance with the present invention and yet fallwithin the scope of the following claims.

What is claimed is:
 1. A method for measuring time related to satellitedata messages for use with a satellite positioning system (SPS), saidmethod comprising: receiving at an entity a first record of at least aportion of a satellite data message of a satellite positioning system;comparing said first record with a second record of said satellite datamessage wherein said first record and said second record overlap atleast partially in time, said comparing being performed afterdetermining an estimated time when said first record was received;determining a time from said comparing, said time indicating when saidfirst record was received at a remote entity.
 2. A method as in claim 1wherein said remote entity is a mobile satellite positioning system(SPS) receiver and wherein said estimated time is used to specify arange in time relative to the second record for comparing said secondrecord to said first record.
 3. A method as in claim 1 wherein saidremote entity is a mobile SPS receiver and wherein said method furthercomprises: determining a comparison range from said estimated time whensaid first record was received.
 4. A method as in claim 1 wherein saidsecond record provides time of day information such that said time maybe determined from said second record.
 5. A method for measuring timerelated to satellite data messages for use with a satellite positioningsystem, said method comprising: receiving at an entity a first record ofat least a portion of a satellite data message of a satellitepositioning system; determining a comparison range from an estimatedtime when said first record was received; comparing said first recordwith a second record of said satellite data message wherein said firstrecord and said second record overlap at least partially in time andwherein said comparing is performed at least in a portion of saidcomparison range; determining a time from said comparing, said timeindicating when said first record was received at a remote entity.
 6. Amethod as in claim 5 wherein said method is performed exclusively atsaid entity which is a basestation.
 7. A method as in claim 6 whereinsaid remote entity is a mobile satellite positioning system (SPS)receiver.
 8. A method as in claim 7 wherein said mobile SPS receiver isa GPS (Global Positioning System) receiver.
 9. A method as in claim 7wherein said second record provides time of day information such thatsaid time may be determined from said second record.
 10. A method as inclaim 9 wherein said second record is stored at said basestation.
 11. Amethod as in claim 9 wherein said comparing comprises performing across-correlation or a sample-by-sample comparison between said firstrecord and said second record.
 12. A method as in claim 11 furthercomprising receiving at said entity a plurality of pseudoranges fromsaid remote entity.
 13. A method as in claim 12 further comprising:using said time and said plurality of pseudoranges to determine aposition information of said remote entity.
 14. A method as in claim 9wherein said first record comprises 50 baud data.
 15. A method as inclaim 7 further comprising precisely determining a carrier frequency ofsaid first record.
 16. A method as in claim 7 wherein said determiningof said comparison range comprises transmitting at least one messagebetween said entity and said remote entity.
 17. A method as in claim 16wherein said transmitting comprises transmitting a first message fromsaid entity to said remote entity and transmitting a second message fromsaid remote entity to said entity.
 18. A method as in claim 17 whereinsaid first record comprises at least one record of at least said portionof said satellite data message corresponding to a first pseudorange of aplurality of pseudoranges.
 19. A method as in claim 18 furthercomprising: receiving at said entity a third record of at least aportion of a second satellite data message; comparing said third recordwith a fourth record of said second satellite data message, wherein saidthird record and said fourth record overlap at least partially in time;determining a second time from said comparing step, said second timeindicating when said third record was received at said remote entity,wherein said second satellite data message corresponds to a secondpseudorange of said plurality of pseudoranges.
 20. A method as in claim7 wherein said remote entity comprises a cellular telephone and saidfirst record is received from said cellular telephone through a cellulartelephone site.
 21. An apparatus for measuring time related to satellitedata messages for use with a satellite positioning system, saidapparatus comprising: a receiver for receiving a first record of atleast a portion of a satellite data message; a data processor coupled tosaid receiver, said data processor performing a comparison in acomparison range of said first record with a second record of saidsatellite data message wherein said first record and said second recordoverlap at least partially in time and determining a time from saidcomparison, said time indicating when said first record was received ata remote entity wherein said comparison range is determined from anestimated time when said first record was received at said remoteentity.
 22. An apparatus as in claim 21 wherein said remote entity is amobile satellite position system (SPS) receiver.
 23. An apparatus as inclaim 22 wherein said second record provides time of day informationsuch that said time may be determined from said second record.
 24. Anapparatus as in claim 23 further comprising a storage device coupled tosaid data processor, said storage device storing said second record. 25.An apparatus as in claim 24 further comprising a GPS (Global PositioningSystem) receiver coupled to said data processor, said GPS receiverproviding said second record.
 26. An apparatus as in claim 25 whereinsaid receiver is one of a wireless radio or a wired communicationreceiver.
 27. An apparatus as in claim 26 wherein said receiver receivesa plurality of pseudoranges from said remote entity.
 28. An apparatus asin claim 27 wherein said data processor uses said time and saidplurality of pseudoranges to determine a position information of saidremote entity.
 29. An apparatus as in claim 23 wherein said first recordcomprises 50 baud data.
 30. An apparatus as in claim 24 furthercomprising a transmitter coupled to said data processor, saidtransmitter for communicating to another entity.
 31. An apparatus as inclaim 22 wherein said comparison range is determined by transmitting atleast one message between said entity and said remote entity.
 32. Anapparatus as in claim 28 wherein said first record comprises at leastone record of at least said portion of said satellite data messagecorresponding to a first pseudorange of said plurality of pseudoranges.33. An apparatus as in claim 32 wherein said receiver receives a thirdrecord of at least a portion of a second satellite data message andwherein said data processor compares said third record with a fourthrecord of said second satellite data message, wherein said third recordand said fourth record overlap at least partially in time, and whereinsaid data processor determines a second time from said comparing step,said second time indicating when said third record was received at saidremote entity, and wherein said second satellite data messagecorresponds to a second pseudorange of said plurality of pseudoranges.34. An apparatus as in claim 31 wherein said transmitting comprisestransmitting a first message from said entity to said remote entity andtransmitting a second message from said remote entity to said entity.35. A method for measuring time related to satellite data messages foruse with a satellite positioning system (SPS), said method comprising:receiving in a mobile SPS receiver at least a portion of a satellitedata message; determining a first record of said at least a portion ofsaid satellite data message; determining a parameter which specifies acomparison range from an estimated time when said first record wasreceived at said mobile SPS receiver; transmitting said first record toa remote basestation for the purpose of determining a time indicatingwhen said first record was received at said mobile SPS receiver.
 36. Amethod as in claim 35 further comprising receiving SPS signals anddetermining at least one pseudorange.
 37. A method as in claim 36further comprising transmitting said at least one pseudorange.
 38. Amethod as in claim 35 wherein said receiving, determining said firstrecord and transmitting are performed in a mobile satellite positioningsystem (SPS) receiver.
 39. A method as in claim 38 further comprising:receiving GPS signals and determining a plurality of pseudoranges;transmitting said plurality of pseudoranges.
 40. A method as in claim 39wherein said first record comprises 50 baud data.
 41. A method as inclaim 36 further comprising removing a carrier frequency from said GPSsignals.
 42. A method as in claim 41 further comprising differentiallydetecting said first record.
 43. A method as in claim 35 wherein saiddetermining said parameter which specifies said comparison rangecomprises one of transmitting a first message from said mobile SPSreceiver to said remote basestation or receiving a second message fromsaid remote basestation.
 44. A satellite positioning system (SPS)receiver comprising: an antenna for receiving SPS signals; a demodulatorcoupled to said antenna, said demodulator removing a PN code from saidSPS signals; a processor coupled to said demodulator, said processordetermining a first record of at least a portion of a satellite datamessage received from said demodulator and determining a parameter whichspecifies a comparison range from an estimated time when said firstrecord was received at said SPS receiver; a transmitter coupled to saidprocessor, said transmitter transmitting said first record to a remotebasestation.
 45. A receiver as in claim 44 further comprising: acommunication antenna coupled to said transmitter, said communicationantenna for transmitting said first record to said remote basestation.46. A receiver as in claim 44 further comprising: a correlator coupledto said antenna, said correlator acquiring said SPS signals anddetermining at least one pseudorange.
 47. A receiver as in claim 44wherein said determining of said parameter comprises one of transmittinga first message from said SPS receiver to said remote basestation orreceiving a second message from said remote basestation.
 48. A satellitepositioning system (SPS) receiver comprising: a SPS antenna forreceiving SPS signals; a processor coupled to said SPS antenna, saidprocessor processing said SPS signals and determining at least onepseudorange from said SPS signals, said processor removing a PN codefrom said SPS signals to provide a first record of at least a portion ofa satellite data message in said SPS signals and determining at leastone parameter which specifies a comparison range from an estimated timewhen said first record was received at said SPS receiver; a transmittercoupled to said digital processor, said transmitter transmitting saidfirst record to a remote basestation.
 49. An SPS receiver as in claim 48wherein said determining of said parameter comprises one of transmittinga first message from said SPS receiver to said remote basestation orreceiving a second message from said remote basestation.
 50. In a mobilesatellite positioning system (SPS) receiver, a method for measuring timerelated to satellite data messages with use with an SPS, said methodcomprising: receiving at said mobile SPS receiver a first record of atleast a portion of a satellite data message; receiving at said mobileSPS receiver a second record of said satellite data message, whereinsaid first record and said second record overlap at least partially intime; determining a comparison range; comparing said first record withsaid second record at least in said comparison range determined from anestimated time when said first record was received at said mobile SPSreceiver; determining a time from said comparing, said time indicatingwhen said first record was received at said mobile SPS receiver.
 51. Amethod as in claim 50 wherein said second record provides time of dayinformation such that said time may be determined from said secondrecord.
 52. A method as in claim 51 wherein said second record isreceived from a basestation.
 53. A method as in claim 52 furthercomprising receiving satellite ephemeris information at said mobile SPSreceiver.
 54. A method as in claim 53 wherein said satellite ephemerisinformation is received from said basestation.
 55. A method as in claim51 further comprising receiving SPS signals and determining a pluralityof pseudoranges and wherein said determining of said comparison rangecomprises one of transmitting a first message from said SPS receiver toa remote basestation or receiving a second message from said remotebasestation.
 56. A method as in claim 55 wherein said first record isobtained by removing a PN code from said satellite data message.
 57. Amobile satellite positioning system (SPS) receiver comprising: anantenna for receiving SPS signals; a demodulator coupled to saidantenna, said demodulator removing a PN code from said SPS; a processorcoupled to said demodulator, said processor determining a first recordof at least a portion of a satellite data message received from saiddemodulator and determining a comparison range; a communication antenna;a communication receiver coupled to said communication antenna and tosaid processor, said communication receiver receiving a second record ofsaid satellite data message, wherein said first record and said secondrecord overlap at least partially in time, said processor comparing saidfirst record and said second record at least in said comparison rangedetermined from an estimated time when said first record was received atsaid mobile SPS receiver and determining a time indicating when saidfirst record was received.
 58. A mobile SPS receiver as in claim 57wherein said second record provides time of day information such thatsaid time may be determined from said second record.
 59. A mobile SPSreceiver as in claim 58 wherein said second record is received from abasestation.
 60. A mobile SPS receiver as in claim 59 wherein saidcommunication receiver receives satellite ephemeris information.
 61. Amobile SPS receiver as in claim 60 wherein said satellite ephemerisinformation is provided from said basestation.
 62. A mobile SPS receiveras in claim 58 wherein said mobile SPS receiver determines pseudoranges.63. An apparatus for assisting in the measurement of time related tosatellite data messages for use with a satellite positioning system(SPS), said apparatus comprising: a transmitter which is fortransmitting a second record of a satellite data message for use incomparing to a first record of at least a portion of a satellite datamessage, said transmitter transmitting a message which is used todetermine a comparison range for comparing said first record to saidsecond record, said comparison range being based on an estimated timewhen said first record was received at a remote mobile SPS receiver. 64.A method for measuring time related to satellite data messages for usewith a satellite positioning system (SPS), said method comprising:receiving at an entity a first record of at least a portion of asatellite data message of a satellite positioning system; comparing saidfirst record with a second record of said satellite data message, saidcomparing being performed after determining an estimated time when saidfirst record was received; determining a time from said comparing, saidtime indicating when said first record was received at a remote entity.65. A method as in claim 64 wherein said remote entity is a mobilesatellite positioning system (SPS) receiver and wherein said estimatedtime is used to specify a range in time relative to the second recordfor comparing said second record to said first record.
 66. A method asin claim 64 wherein said remote entity is a mobile SPS receiver andwherein said method further comprises: determining a comparison rangefrom said estimated time when said first record was received.
 67. Amethod as in claim 64 wherein said second record provides time of dayinformation such that said time may be determined from said secondrecord.
 68. An apparatus for measuring time related to satellite datamessages for use with a satellite positioning system, said apparatuscomprising: a receiver for receiving a first record of at least aportion of a satellite data message; a data processor coupled to saidreceiver, said data processor performing a comparison in a comparisonrange of said first record with a second record of said satellite datamessage and determining a time from said comparison, said timeindicating when said first record was received at a remote entitywherein said comparison range is determined from an estimated time whensaid first record was received at said remote entity.
 69. An apparatusas in claim 68 wherein said remote entity is a mobile satellite positionsystem (SPS) receiver.
 70. An apparatus as in claim 69 wherein saidsecond record provides time of day information such that said time maybe determined from said second record.
 71. An apparatus as in claim 70further comprising a storage device coupled to said data processor, saidstorage device storing said second record.
 72. An apparatus as in claim71 further comprising a GPS (Global Positioning System) receiver coupledto said data processor, said GPS receiver providing said second record.73. An apparatus as in claim 72 wherein said receiver is one of awireless radio or a wired communication receiver.
 74. An apparatus as inclaim 73 wherein said receiver receives a plurality of pseudoranges fromsaid remote entity.
 75. An apparatus as in claim 74 wherein said dataprocessor uses said time and said plurality of pseudoranges to determinea position information of said remote entity.
 76. An apparatus as inclaim 70 wherein said first record comprises 50 baud data.
 77. Anapparatus as in claim 71 further comprising a transmitter coupled tosaid data processor, said transmitter for communicating to anotherentity.
 78. An apparatus as in claim 69 wherein said comparison range isdetermined by transmitting at least one message between said entity andsaid remote entity.
 79. An apparatus as in claim 75 wherein said firstrecord comprises at least one record of at least said portion of saidsatellite data message corresponding to a first pseudorange of saidplurality of pseudoranges.
 80. An apparatus as in claim 79 wherein saidreceiver receives a third record of at least a portion of a secondsatellite data message and wherein said data processor compares saidthird record with a fourth record of said second satellite data message,wherein said third record and said fourth record overlap at leastpartially in time, and wherein said data processor determines a secondtime from said comparing step, said second time indicating when saidthird record was received at said remote entity, and wherein said secondsatellite data message corresponds to a second pseudorange of saidplurality of pseudoranges.
 81. An apparatus as in claim 78 wherein saidtransmitting comprises transmitting a first message from said entity tosaid remote entity and transmitting a second message from said remoteentity to said entity.
 82. In a mobile satellite positioning system(SPS) receiver, a method for measuring time related to satellite datamessages for use with an SPS, said method comprising: receiving at saidmobile SPS receiver a first record of at least a portion of a satellitedata message; receiving at said mobile SPS receiver a second record ofsaid satellite data message; determining a comparison range; comparingsaid first record with said second record at least in said comparisonrange determined from an estimated time when said first record wasreceived at said mobile SPS receiver; determining a time from saidcomparing, said time indicating when said first record was received atsaid mobile SPS receiver.
 83. A method as in claim 82 wherein saidsecond record provides time of day information such that said time maybe determined from said second record.
 84. A method as in claim 83wherein said second record is received from a basestation.
 85. A methodas in claim 84 further comprising receiving satellite ephemerisinformation at said mobile SPS receiver.
 86. A method as in claim 85wherein said satellite ephemeris information is received from saidbasestation.
 87. A method as in claim 83 further comprising receivingSPS signals and determining a plurality of pseudoranges and wherein saiddetermining of said comparison range comprises one of transmitting afirst message from said SPS receiver to a remote basestation orreceiving a second message from said remote basestation.
 88. A method asin claim 87 wherein said first record is obtained by removing a PN codefrom said satellite data message.